Oct. 18, 1995 v. 1.00 =========================================================================== + First release of CurveExpert 1.0. Oct. 26, 1995, v. 1.01 =========================================================================== New Features: + More attractive help file, with more keywords for searching + new help search facility available directly from CurveExpert Bug Fixes: + If a polynomial was already calculated, selecting another polynomial of a differing degree incorrectly pulled results from the cache instead of recalculating the curve fit. Fixed. + running two versions of CurveExpert is prevented, since two simultaneous instances cause stack faults. + if the data set is sorted, all interpolations are now marked invalid as they should be. + "Apply to All" did not necessarily force the current attributes of a graph to the current graph (only if the user clicks OK). Fixed. + The scrollbar did not get reset to the top when the user read in a new data file. Fixed. + The structure of the code has been undergone some major changes to ease porting to Windows 95 and Windows NT. I was exceedingly careful, but I hope this didn't introduce new bugs! :-) + For some reason, the help file didn't have any single or double quotes in it. This has been corrected, so it is now easier to read. + The help file was not terminated when CurveExpert was. Fixed. + The Window and Help menus were moved to more conventional positions on the menu bar. Nov. 4, 1995, v. 1.10: =========================================================================== New Features: + Previously undocumented logical functions can be used in the user-defined models. See the help documentation. + Current filename now appears in the title bar. + QuickCalc has been expanded to find the x-value, given the y-value. + Optimizations have been applied to many routines, making the user interface more responsive and the algorithms quicker. Changes: + File reading system has been revamped. + the color scheme on all windows now conforms strictly to the user defined system colors. + Dialogs were expunged of all Borland controls (except for buttons) since they conflicted with user defined color schemes. + The QuickCalc dialog now automatically shifts focus back to the edit control and selects all text after the OK button is pushed. This makes it easier to calculate many points at a time. Bug Fixes: + pressing the tab key to force the built-in spreadsheet sometimes added points onto the end of the data set. Fixed. + If a graph window was closed and then reopened (except after a CurveFinder operation), the comments in the Graph Info dialog were not correct. Fixed. + The Cut Last Row/Undo pair now functions properly. + The the graph of a polynomial fit would be reset if the data was changed in the data window. Fixed. + The scaling procedure did not grab the latest data out of the data window's edit control if it was active, resulting in one point not being scaled or translated. Fixed. + A constant starting with a decimal (eg, .25) caused CurveExpert to bomb (when defining a user model). This has been fixed so that these constants are accepted. + A comma-delimited data file was not read correctly. A new file reading system was implemented to read files with any type of (unspecified) delimiter between the data columns + if a data file was not read correctly, the filename in the status bar showed the unreadable file instead of the previous file. Fixed. + the common dialogs (file open/save, print) did not accept keystokes until after they were clicked with the mouse, which makes it terribly hard for non-mouse users. Fixed. + If the current path was changed from CurveExpert, the help file was not found. Fixed. Nov. 9, 1995, v. 1.11 =========================================================================== New Features: + the data point markers on graphs can now be changed to filled or unfilled circles, squares, triangles, pluses, or crosses. Changes: + Small optimizations made to the speed of the user interface + The main window is now fully resizable + The position and size of the main window is saved on exit and restored the next time CurveExpert runs Bug Fixes: + Whoops! The new file reading procedure masked out all minus and minus signs in the data, so that numbers like -10 and 10e-3 were not read correctly. Fixed. + the exception reporting dialog box did not properly draw the exclamation point's background, which should match the dialog color. Fixed. + the single-precision version still read files incorrectly sometimes. Fixed. + the initial guess dialog sometimes opened unconditionally on the next fit performed after a CurveFinder evaluation. Fixed. Nov. 13, 1995, v. 1.12 =========================================================================== New Features: + Differentiation and integration of a calculated curve fit is now supported, similar to the implementation of QuickCalc. Changes: + If background processing is enabled, during iteration the cursor is a combined arrow/hourglass to inform the user that he/she can still perform operations. + editing points in the spreadsheet is now prohibited while any iteration is taking place. + Drawing of data points on a graph is internally clipped if it is outside of the graphing window. This allows for faster graph drawing if many points are outside of the graph pane. + A separate set of application-wide defaults are maintained for the single-precision and double-precision versions (registered version only) Bug Fixes: + Periods by themselves in the user models were parsed as the value zero instead generating a syntax error. Fixed. + A plot that was copied to the clipboard failed to "clip" data points that were outside of the graphing pane, resulting in points being drawn outside of the intended area. Fixed. + The information button on a graph window would sometimes disappear if a window was sized smaller. Fixed. + After copying a plot to the clipboard, the current graph resolution was incorrectly reset to 1. Fixed. + Extremely small parameter guesses were not allowed in the parameter guess dialog, since its precision was limited to six places. Fixed. Nov. 25, 1995, v. 1.13 =========================================================================== Changes: + The data manipulation tools have now been merged into one organized, tabbed dialog. + The model analytical tools have now been merged into one organized, tabbed dialog. + Cascading a large number of windows would sometimes result in some windows being moved off of the screen. Now, the cascade restarts at the top left if a window might be moved off-screen. + The built-in models have been reordered so that operations such as calculations and window manipulations naturally fall into a grouped arrangement. + the graph autoscaling algorithm has been rewritten to be more reliable + The info button on the graphing window has been changed and moved to be less obtrusive. + sizing restrictions on the graphing windows have been removed. Bug Fixes: + Whoops! Another problem with the file reading engine caused columns starting with a negative number to be discarded. Fixed. + Entering a user model with no parameters was allowed when it shouldn't have been. Now, a syntax error is generated. + the Window|Tile command sometimes worked strangely if graphing windows had been closed prior to invoking it. Fixed. + the Window|Cascade command did not properly cascade windows that were minimized. Fixed. + the last tick and label sometimes wasn't shown on the x/y axes of plots. Fixed. + the implementation of filled points didn't produce a filled entity for the circle or triangle when printed. Fixed. + The user was still asked whether to save a file or not upon exiting, even if the file had just been saved. Fixed. + CurveExpert will now run even if ctl3dv2.dll is not found. Dec. 2, 1995, v. 1.14 (Shareware Only) =========================================================================== Bug Fixes: + Graph Attributes/Graph Scaling Dialogs were not initialized properly in the Shareware version. Fixed. Dec. 31, 1995, v. 1.15 (Not Released) =========================================================================== Changes: + Sometimes, resizing a graph would result in the line width being drawn incorrectly (not the user-specified line width, screen only). Fixed. + delayed rendering of plots is now supported, to greatly increase drawing performance with user model plots and/or plots with a large number of data points + (registered only) the single precision package has now been optimized for single-precision arithmetic + the directions on the graph window are now removed if they will be collide with the error information. This leads to cleaner plots, especially with small graphing windows. Bug Fixes: + if one minor tick was selected (on either axis), there was a chance that one too many tick labels would be printed. Fixed. + some stray (and inappropriate) directions were left on the differentiate and integrate dialogs. Removed. Jan. 14, 1996, v. 1.20 =========================================================================== New Features: + many new graphing features and easier-to-use graphing properties interface has been added + the covariance matrix and residual plot are now available in the revamped information dialog + much faster nonlinear regression performance over version 1.1 (between 17% to 45% improvement in speed, depending on the number of parameters) Changes: + each graphing window no longer appears in the Win31 tasklist; and each window no longer shows up in the Win95 taskbar. + weighting values by 1/y^2 during nonlinear regression is now implemented Jan. 25, 1996, v. 1.21 =========================================================================== Bug Fixes: + the equation bitmaps in the initial guess and/or information dialog did not update properly at times. Fixed. + if the ctl3dv2 module could not be loaded, the info dialog GPF'ed when opened. Fixed. March 5, 1996, v. 1.22 =========================================================================== New Features: + the Preferences dialog has been revamped, with many new user- defineable options added for printing, regression/math options, and application options. + added right-click menus to all main window regions Changes: + The limitation of two-line titles in metafiles has been removed. + new and improved debugging console with a nicer appearance and more information. Necessary because of the ongoing port to Win32. + a button that coordinates the foreground (frame) color and the text colors was added to the graph properties dialog + the ability to draw grid lines at each minor tick mark was added + drag-and-drop from the file manager to CurveExpert is now supported + data information dialog box was widened to accommodate large numbers. + a new and much faster data clipping algorithm is now used + clipping and sorting operations now take place in the background, instead of hogging the CPU + two new symbols added to the graphing properties dialog Bug Fixes: + if the "Weight by Y^2" option was turned on, the results of nonlinear regression were likely to be a local minima or not converge at all. Fixed. + It was not possible to put a single percent sign in an axis label without typing '%%' in the axis label edit field. Fixed. + if the graph extents were set just right on the x or y axis, then one grid line would not draw. Fixed. + if the main window was minimized when CurveExpert was exited, the window was not restored to the correct position the next time CurveExpert was run. Fixed. + a GPF occurred if a data set with over 8192 data points was sorted. Fixed. + corrected an erroneous reading of the allocated memory (in bytes) that occurred if the quadratic fit was ever used. + if a residual table of an extremely large data set was copied to the clipboard in the info dialog, a GPF occurred. Fixed. + if a large data file with very large numbers was read, the first examination of that file would cause a program abort due to an overflow. Fixed. May 20, 1996, v. 1.23 =========================================================================== New Features: + 32 BIT VERSION FOR WINDOWS 95 AND WINDOWS NT RELEASED! + added x/y averages, minima, maxima, and standard deviations to the variables available for custom regressions + added the capability to swap the x and y data + (32 bit only) new tooltips feature gives quick access to a toolbar button's function Changes: + All BWCC controls have been removed, and as a result, several dialogs were redesigned. This gives a more consistent feel to the application, eases the port to Win32, and frees CurveExpert from having the BWCC.DLL library distributed with it. + (16 bit only) draws the missing line between the toolbar and menus if running under Windows 95. + added code to properly shut down CurveExpert if the user logs off while it is running. + fit type has been added to the caption of a residual plot window to make it clear where the window originated. + even if no changes were made to the graph from the Graph Properties dialog, the plot was re-rendered. Now, a check is made to see if any changes were made to determine if the graph should be redrawn. + the help file has undergone some formatting changes and additions + support for multiple-copy printouts was added Bug Fixes: + the table-generation and export-file mechanisms printed all zeros if a number was too small. Fixed. Now, the numbers are printed properly in exponential format. + the Preferences dialog would cause a program abort if no printer was installed. Fixed. + the function that draws the graph title had a potential memory leak. This would manifest itself also in the Residual page from the information dialog. Fixed. + the path field in the application preferences dialog would not allow horizontal scrolling, so the user was limited to a short data file path name. Fixed. + the ranking chart would sometimes get corrupted during a CurveFinder operation on a small data set (at unpredictable times). Fixed. + the underline style was ignored if it was specified for a font that would appear on a graph. Fixed. + a memory leak that caused a "floating point error" in the lagrangian interpolation routine was fixed + if a x or y axis label contained more than 50 characters, a subsequent display of the plot would cause a crash. Fixed. May 27, 1996, v. 1.24 =========================================================================== New Features: Changes: Bug Fixes: + the history (dump) file did not have the last iteration written to it if the iteration converged. Fixed.